Bài học Scratch cho học sinh THCS

Biến, dữ liệu và các phép toán cơ bản trong Scratch

Tìm hiểu cách lưu trữ thông tin, phân loại dữ liệu và dùng phép toán để xây dựng game, ứng dụng tính toán trên Scratch.

Dữ liệu trong Scratch là gì?

Mọi chương trình đều cần dữ liệu — những thông tin mà máy tính lưu trữ và xử lý. Trong Scratch, dữ liệu có thể là con số, chữ, câu trả lời của người chơi, vị trí nhân vật trên sân khấu hay kết quả của một phép tính.

Dữ liệu qua xử lý thành thông tin
Dữ liệu thô được xử lý để tạo ra thông tin có ý nghĩa trong chương trình

Khi bạn chơi game trên Scratch, điểm số hiển thị trên màn hình, tên người chơi nhập vào, hay tọa độ x/y của nhân vật — tất cả đều là dữ liệu. Hiểu dữ liệu giúp bạn kiểm soát chương trình tốt hơn.

💡 Ghi nhớ

Dữ liệu là nguyên liệu của chương trình. Biến và phép toán là công cụ giúp bạn lưu trữ và biến đổi nguyên liệu đó.

Các loại dữ liệu cơ bản

Scratch chủ yếu làm việc với ba nhóm dữ liệu sau:

Số (Number) 10, 3.5, -7, 0
Chuỗi (String) "Xin chào", "Lan", "100điểm"
Logic (Boolean) đúng (true) hoặc sai (false)

Số (Number)

Dùng trong tính toán: cộng điểm, đếm số lần nhảy, tính tốc độ di chuyển. Scratch hỗ trợ số nguyên và số thập phân.

Chuỗi (String)

Là dãy ký tự — chữ, số, dấu câu đặt trong dấu ngoặc kép. Dùng để hiển thị lời thoại, tên người chơi, thông báo kết quả.

Logic (Boolean)

Chỉ có hai giá trị: đúng hoặc sai. Dùng trong điều kiện — ví dụ "có chạm biên không?", "điểm ≥ 10 không?".

📌 Ví dụ — Phân loại dữ liệu
  • Điểm số 85Số
  • Lời chào "Chào bạn!"Chuỗi
  • Chạm tường? đúngLogic

Biến là gì?

Biến (variable) giống một hộp có nhãn — bạn đặt tên cho hộp, rồi bỏ giá trị vào. Giá trị có thể thay đổi trong quá trình chương trình chạy; tên biến thì giữ nguyên.

Khái niệm biến trong lập trình
Biến lưu giá trị và có thể thay đổi theo thời gian

Trong Scratch, tạo biến bằng cách:

  1. Vào nhóm khối Biến (màu cam).
  2. Nhấn "Tạo biến" (Make a Variable).
  3. Đặt tên — ví dụ: điểm, tên, mạng.
  4. Chọn biến cho tất cả nhân vật hoặc chỉ nhân vật này.
Biến toàn cục Mọi nhân vật đều đọc/ghi được. Phù hợp cho điểm số chung, bộ đếm thời gian.
Biến cục bộ Chỉ nhân vật tạo ra mới dùng được. Phù hợp cho tốc độ, trạng thái riêng từng nhân vật.
💡 Mẹo đặt tên biến

Chọn tên ngắn, rõ nghĩa: điểm, tốc_độ, đếm. Tránh tên chung chung như a, x khi làm dự án lớn — sau này bạn sẽ khó nhớ biến dùng để làm gì.

Thao tác với biến trong Scratch

Scratch cung cấp các khối lệnh chính để làm việc với biến:

đặt [điểm] thành (0)  — gán giá trị ban đầu
thay đổi [điểm] đi (1)  — cộng thêm vào giá trị hiện tại
hiện biến [điểm]  — hiển thị trên sân khấu
ẩn biến [điểm]  — ẩn khỏi sân khấu

Gán giá trị (Set)

Khối "đặt … thành …" gán giá trị mới, thay thế hoàn toàn giá trị cũ. Dùng khi bắt đầu game hoặc reset điểm về 0.

Thay đổi giá trị (Change)

Khối "thay đổi … đi …" cộng thêm (hoặc trừ đi nếu dùng số âm) vào giá trị hiện tại. Dùng khi ăn đồ, ghi bàn, đếm số lần.

📌 Ví dụ — Game bắt sao

🟡 khi nhấn cờ xanh → đặt [điểm] thành (0)

🟡 khi nhân vật chạm sao → thay đổi [điểm] đi (10)

Mỗi lần chạm sao, điểm tăng 10. Nếu dùng "đặt thành 10" thì điểm luôn là 10 — không tích lũy!

Danh sách (List) — Biến đặc biệt

Ngoài biến đơn, Scratch còn có danh sách — lưu nhiều giá trị theo thứ tự, giống cuốn sổ có nhiều dòng. Tạo danh sách bằng nút "Tạo danh sách" trong nhóm Biến.

  • thêm (…) vào [danh sách] — thêm phần tử cuối.
  • xóa (1) của [danh sách] — xóa phần tử ở vị trí chỉ định.
  • phần tử (1) của [danh sách] — lấy giá trị tại vị trí.
  • độ dài của [danh sách] — đếm số phần tử.
📌 Ví dụ — Danh sách tên bạn

Danh sách bạn_bè: ["Lan", "Hùng", "Mai"]

Phần tử 1 = "Lan", phần tử 2 = "Hùng", độ dài = 3

💡 Ghi nhớ

Trong Scratch, vị trí phần tử đầu tiên là 1 (không phải 0 như một số ngôn ngữ lập trình khác).

Các phép toán cơ bản

Nhóm khối Phép toán (màu xanh lá) cung cấp các phép tính số học và so sánh. Bạn nhúng các khối này vào khối khác như mảnh puzzle.

+Cộng
Trừ
×Nhân
÷Chia
modChia lấy dư
roundLàm tròn
Tính toán trong vòng lặp
Phép toán thường kết hợp với vòng lặp và điều kiện trong chương trình

Phép toán số học

  • Cộng, trừ, nhân, chia: tính toán thông thường.
  • mod (chia lấy dư): 7 mod 3 = 1 — hữu ích kiểm tra số chẵn/lẻ (số mod 2 = 0 → chẵn).
  • Làm tròn: làm tròn(3.7) = 4, làm tròn(3.2) = 3.
📌 Ví dụ — Tính điểm trung bình

Đặt biến tb thành: (điểm_toán + điểm_văn + điểm_anh) / 3

Kết quả lưu trong biến tb để hiển thị hoặc xếp loại.

Phép so sánh và logic

Bên cạnh tính toán số, Scratch còn có phép so sánh trả về đúng hoặc sai — dùng trong khối điều kiện "nếu … thì".

=Bằng
<Nhỏ hơn
>Lớn hơn
AND
hoặcOR
khôngNOT

So sánh

điểm > 50 → đúng nếu điểm lớn hơn 50. Dùng trong game: kiểm tra thắng/thua, va chạm, điều kiện qua màn.

Phép logic

  • và (and): cả hai điều kiện đều đúng → kết quả đúng.
  • hoặc (or): ít nhất một điều kiện đúng → kết quả đúng.
  • không (not): đảo ngược — đúng thành sai, sai thành đúng.
📌 Ví dụ — Điều kiện thắng game

Nếu điểm ≥ 100 mạng > 0 thì → "Bạn thắng!"

Cần đủ điểm còn mạng mới thắng — thiếu một điều kiện là chưa thắng.

Phép toán với chuỗi

Scratch cũng xử lý được chuỗi ký tự:

  • Nối chuỗi (join): ghép hai chuỗi thành một. Ví dụ: nối "Xin chào " và "Lan" → "Xin chào Lan".
  • Độ dài chuỗi: đếm số ký tự trong chuỗi.
  • Chữ cái thứ … của: lấy ký tự tại vị trí chỉ định.
nối ("Điểm: ") (điểm) → hiển thị "Điểm: 85"
độ dài của ("Scratch") → kết quả là 7
📌 Ví dụ — Chào người chơi

1. Hỏi "Tên bạn là gì?" và chờ → lưu vào biến tên

2. Nói: nối ("Xin chào, ") (tên) trong 2 giây

Chương trình cá nhân hóa lời chào theo tên người chơi nhập.

Dự án tổng hợp: Máy tính mini

Kết hợp biến và phép toán để tạo máy tính cộng đơn giản:

  1. Tạo biến a, b, kết_quả.
  2. Hỏi "Nhập số thứ nhất" → đặt a thành câu trả lời.
  3. Hỏi "Nhập số thứ hai" → đặt b thành câu trả lời.
  4. Đặt kết_quả thành a + b.
  5. Nói: nối ("Kết quả = ") (kết_quả).
Logo Scratch
Thực hành ngay trên Scratch để củng cố kiến thức về biến và phép toán
💡 Lời kết

Biến giúp chương trình nhớ, phép toán giúp chương trình tính toán. Hãy bắt đầu với dự án đếm điểm đơn giản, rồi thêm phép so sánh, danh sách và phép logic — từng bước bạn sẽ tạo được game hoàn chỉnh!